package projectexercise;

import projectframework.Utility;

/**
 * @author shkstart
 * @date 2022/4/14 - 22:11
 */
public class TheFirstProject {
    public static void main(String[] args) {
        boolean isFlag = true;
//        用于记录用户的收入和支出的详情
        String details = "收支\t\t\t账户金额\t\t\t收支金额\t\t\t说    明\n";
//        初始金额
        int balance = 10000;
        while(isFlag) {

            System.out.println("-------------------家庭收支记账软件-------------------\n");
            System.out.println("                      1 收支明细");
            System.out.println("                      2 登录收入");
            System.out.println("                      3 登记支出");
            System.out.println("                      4 退    出\n");
            System.out.println("                    请选择(1-4): ");
//            获取用户选择：1-4
            char selection = Utility.readMenuSelection();
            switch(selection) {

                case '1':
//                    System.out.println("1.收支明细");
                    System.out.println("-------------------当前收支记录-------------------");
                    System.out.println(details);
                    System.out.println("-------------------------------------------------\n");
                    break;
                case '2':
//                    System.out.println("2.登录收入");
                    System.out.print("本次收入金额：");
                    int addMoney = Utility.readNumber();
                    System.out.print("本次收入说明：");
                    String addInfo = Utility.readString();

//                    处理balance
                    balance += addMoney;

//                    处理details
                 details +=("收入\t\t\t" +balance+"\t\t\t" + addMoney +"\t\t\t\t" + addInfo +"\n");

                 System.out.println("------------------登记完成--------------------\n");



                    break;
                case '3':
//                    System.out.println("3.登录支出");
                    System.out.print("本次支出金额：");
                    int minusMoney = Utility.readNumber();
                    System.out.print("本次支出说明：");
                    String minusInfo = Utility.readString();

                    if(balance >= minusMoney) {
                        balance -= minusMoney;
                        details +=("收入\t\t\t" +balance+"\t\t\t" + minusMoney +"\t\t\t\t" + minusInfo +"\n");

                    }else {
                        System.out.println("超出支付金额了！余额不足！");
                    }
                    System.out.println("------------------登记完成--------------------\n");

                    break;
                case '4':
//                    System.out.println("4.退 出");
                    System.out.println("确认是否要退出(Y/N): ");
                    char isExit = Utility.readConfirmSelection();
                    if(isExit == 'Y'){
                        isFlag = false;
                    }
//                    break;
            }


        }
    }

}
